#ifndef _DARWIN_OSDEF_H_
#define _DARWIN_OSDEF_H_

#include <stdbool.h>
#include <dlfcn.h>
#include <sys/semaphore.h>

//address
#include <netinet/in.h>
//setsockopt opations
#include <netinet/tcp.h>
#include <arpa/inet.h>
#include <semaphore.h>

//getpagesize
#include <unistd.h>

//sem
#include <mach/mach.h>
#include <mach/task.h>
#include <mach/semaphore.h>
#include <TargetConditionals.h>

//thread stack size
#include <limits.h>

//path
#include <sys/syslimits.h>
#include <mach-o/dyld.h>

//atomic
#include <libkern/OSAtomic.h>
//#include <stdatomic.h>

#include <sys/time.h>

#include <objc/objc.h>


#define CALLBACK    PASCAL
#define WINAPI
#define WINAPIV
#define APIENTRY    WINAPI
#define APIPRIVATE  
#ifdef _68K_
#define PASCAL      __pascal
#else
#define PASCAL
#endif
#elif _MSC_VER

#ifndef WINAPI
#define WINAPI __stdcall
#endif

#ifndef CALLBACK
#define CALLBACK __stdcall
#endif

#ifndef WINAPIV
#define WINAPIV     __cdecl
#endif 

#ifndef APIENTRY
#define APIENTRY    WINAPI
#endif 



#ifndef APIPRIVATE
#define APIPRIVATE  __stdcall
#endif 


#ifndef PASCAL
#define PASCAL      __stdcall
#endif 


#endif
